package sort;

public class SelectSort implements Sort{
    @Override
    public void sort(int[] arr, boolean asc) {
        int idx = 0, len = arr.length;
        while (idx < len) {
            int last = idx;
            // 找到最小或者最大的元素的下标
            for (int i = idx + 1; i < len; ++i) {
                if ((asc && arr[i] < arr[last]) || (!asc && arr[i] >= arr[last])) {
                    last = i;
                }
            }
            // 交换对应位置的值
            int tmp = arr[last];
            arr[last] = arr[idx];
            arr[idx] = tmp;

            idx++;
        }
    }
}
